package com.example.basicdemo.model.request;

import com.isyscore.os.dev.api.IsyscoreObject;
import com.isyscore.os.dev.api.IsyscoreRequest;
import com.example.basicdemo.model.response.DeleteRentalInfoResponse;
import com.isyscore.os.dev.util.IsyscoreHashMap;
import com.isyscore.os.dev.util.ProdCodeEnums;
import org.springframework.web.bind.annotation.RequestMethod;

import java.util.Map;

/**
 * 删除组织信息
 */
public class DeleteRentalInfoRequest implements IsyscoreRequest<DeleteRentalInfoResponse> {

    private IsyscoreHashMap textParam;
    private IsyscoreHashMap headerParam;
    private String apiVersion = "2.0";
    private boolean needEncrypt = false;
    private IsyscoreObject bizModel = null;
    private String pathValue;

    @Override
    public String getServerHost() {
        return null;
    }

    @Override
    public String getApiUrl() {
        return "/api/permission/rentalInfo/{id}";
    }

    @Override
    public RequestMethod getRequestMethod() {
        return RequestMethod.DELETE;
    }

    @Override
    public String getContentType() {
        return null;
    }

    @Override
    public void putOtherTextParam(String key, Object value) {
        if (this.textParam == null) {
            this.textParam = new IsyscoreHashMap();
        }
        this.textParam.put(key, value);
    }

    @Override
    public Map<String, Object> getTextParams() {
        return this.textParam;
    }

    @Override
    public Map<String, Object> getHeaderParams() {
        return this.headerParam;
    }

    @Override
    public void putOtherHeaderParams(String key, Object value) {
        if (this.headerParam == null) {
            this.headerParam = new IsyscoreHashMap();
        }

        this.headerParam.put(key, value);
    }

    @Override
    public void initHeaderParams(IsyscoreHashMap headerParam) {
        this.headerParam = new IsyscoreHashMap(headerParam);
    }

    @Override
    public String getApiVersion() {
        return this.apiVersion;
    }

    @Override
    public void setApiVersion(String apiVersion) {
        this.apiVersion = apiVersion;
    }

    @Override
    public String getNotifyUrl() {
        return null;
    }

    @Override
    public void setNotifyUrl(String notifyUrl) {

    }

    @Override
    public String getReturnUrl() {
        return null;
    }

    @Override
    public void setReturnUrl(String returnUrl) {

    }

    @Override
    public Class<DeleteRentalInfoResponse> getResponseClass() {
        return DeleteRentalInfoResponse.class;
    }

    @Override
    public boolean isNeedEncrypt() {
        return this.needEncrypt;
    }

    @Override
    public void setNeedEncrypt(boolean needEncrypt) {
        this.needEncrypt = needEncrypt;
    }

    @Override
    public IsyscoreObject getBizModel() {
        return this.bizModel;
    }

    @Override
    public void setBizModel(IsyscoreObject isyscoreObject) {
        this.bizModel = isyscoreObject;
    }

    @Override
    public String getProdCode() {
        return ProdCodeEnums.PERMISSION.getCode();
    }

    @Override
    public void setProdCode(String prodCode) {

    }

    @Override
    public String getPathValue() {
        return this.pathValue;
    }

    @Override
    public void setPathValue(String pathValue) {
        this.pathValue = pathValue;
    }

    /**
     * 设置PointId
     * pointId为埋点ID， 根据实际埋点需求设置pointId
     *
     * @param pointId
     */
    @Override
    public void setPointId(String pointId) {

    }

    /**
     * 获取PointId
     */
    @Override
    public String getPointId() {
        return null;

    }
}
